草庐IT

JavaFX - 许多静态 FXML Controller

全部标签

c# - ASP.NET 站点中静态变量的范围

如果在同一个应用程序池中运行多个ASP.NET应用程序,我将拥有一个类的静态变量的多少个实例?每个应用程序池一个?每个应用程序池工作进程一个?每个申请一个?还有别的吗?只是为了提供一些背景:我正在特别考虑我们拥有的一个ServiceLocator实现,它在静态类变量中包含一个UnityContainer。问题是,多个应用程序在ServiceLocator上注册一个容器是否会相互干扰?应用程序在.NET4.0上的IIS7.5中运行,这应该有什么不同。示例代码(简化)publicstaticclassServiceLocator{privatestaticIUnityContainer_c

c# - 使用反射和 C# 调用静态方法时遇到问题

我有这两个类:Item:BusinessBasewhereT:Item{publicstaticTNewItem(){//somecodehere}}Video:Item{}现在我想使用反射调用类Video上的NewItem()方法。当我尝试这样做时:MethodInfoinf=typeof(Video).GetMethod("NewItem",BindingFlags.Static);执行此行后的对象inf仍然为空。我可以在Video类上调用静态NewItem()方法吗? 最佳答案 您需要指定BindingFlags.Public

c# - 为什么静态字段初始化发生在静态构造函数之前?

以下代码:staticvoidMain(string[]args){Console.WriteLine("0");stringh=Foo.X;Console.WriteLine("2");}publicstaticclassFoo{publicstaticstringX=((Func)delegate(stringg){Console.WriteLine(g);return(g);})("_aaa");staticFoo(){Console.WriteLine("ctor");}}将打印:0_aaactor2我知道beforefieldinit行为(有/没有静态构造函数等)。我不明白的

c# - 声明 protected 成员的静态类

我正在看书"C#Language",然后点击VladimirReshetnikov的这张便条:Ifastaticclassdeclaresaprotectedorprotectedinternalmember,acompile-timeerroroccurs(CS1057).我可以知道为什么吗?具有protected成员的静态类有什么问题?静态类可以有私有(private)成员,所以我猜这个CS1057错误不是由于可访问性引起的,但也许是由于编译问题引起的?作为protected成员可以在子类中被覆盖...但我不明白为什么。 最佳答案

c# - C# 如何知道何时运行静态构造函数?

我不相信生成的代码会在每次访问静态成员(包括函数)时检查类是否已初始化。我相信检查每次访问都是低效的。我查看了ECMA334中的§17.11,它说Theexecutionofastaticconstructoristriggeredbythefirstofthefollowingeventstooccurwithinanapplicationdomain:Aninstanceoftheclassiscreated.Anyofthestaticmembersoftheclassarereferenced.看起来没有定义如何确定“第一次”发生的时间。我想不出任何办法,只能每次检查。如何实现

c# - 静态变量的线程安全初始化

我一直在使用这种模式来初始化我的类中的静态数据。它对我来说看起来是线程安全的,但我知道线程问题有多么微妙。这是代码:publicclassMyClass//badcode,donotuse{staticstring_myResource="";staticvolatilebool_init=false;publicMyClass(){if(_init==true)return;lock(_myResource){if(_init==true)return;Thread.Sleep(3000);//someoperationthattakesalongtime_myResource="H

c# - 我应该尽可能使我的方法静态化吗?

我经常思考这个问题……这可能是个白痴问题,但还是要问。假设我有这个类:publicclassSomeClass{publicintAProperty{get;set;}publicvoidSomeMethod(){DoStuff(AProperty);}}这样做有什么好处吗:publicclassSomeClass{publicintAProperty{get;set;}publicstaticvoidSomeMethod(intarg){DoStuff(arg);}}唯一明显的优势是我现在可以直接访问SomeMethod。那么,在稍微重构允许的情况下,将这些类型的方法设为静态是一种好

c# - ThreadLocal<T> 和静态方法?

正在使用类名访问静态字段,如下所示:publicclassMe(){publicstaticinta=5;}我可以使用Me.a访问它,因此它附加到类。但是当我看到:staticThreadLocal_x=newThreadLocal(()=>3);它保证每个线程看到_x的不同副本。我们不是刚刚看到static是每个class而不是每个thread吗?ThreadLocal如何设法为每个线程提供不同的_x副本? 最佳答案 Didntwejustseethatstaticisperclassandnotperthread?是的。所以想象

c# - OWIN 为多个路由发送静态文件

我正在制作一个位于ASP.NetWebAPI之上的SPA。我正在等待使用HTML5历史而不是#/进行历史路由,但这对深度链接造成了问题,我需要确保/和/foo/bar都返回相同的HTML文件(我的JS将呈现SPA的正确部分)。如何让OWIN/Katana为多个不同的url返回相同的HTML文件? 最佳答案 为了简单起见,同时仍然保留StaticFiles中间件的所有缓存优点等,我只是使用内联中间件重写请求路径,就像这样publicclassStartup{publicvoidConfiguration(IAppBuilderapp)

c# - 使用调用构造函数的静态方法是否有任何好处(语义或其他)?

我刚刚更新了VisualStudio2013,我注意到在MVC应用程序的项目模板中,ApplicationDbContext类现在有一个只调用构造函数的静态方法:publicstaticApplicationDbContextCreate(){returnnewApplicationDbContext();}这对我来说似乎很困惑,但我想有一些语义原因我现在应该开始使用ApplicationDbContext.Create()而不是newApplicationDbContext()。这样做有什么好处吗? 最佳答案 其实。是的。在您的特